package models;

import java.util.InputMismatchException;
import java.util.Scanner;


public  class Human extends Player{
	
	
	int jakiehum;
	int nowakarta;
	
	

	boolean czylicytowal;
	
	Human(int numer){
		this.numer=numer;	
	}
	@Override
	void licytuj(Licytacja lic){
		String cos;
		
		if(lic.czyallin==false){
			
			if(bet<lic.maxbet){
	
				if(lic.maxbet-bet>=zetony){//allin,fold
					
					System.out.println("1.ALIN");
					System.out.println("4.FOLD");
					Scanner ile2 = new Scanner(System.in);
					int licznik= ile2.nextInt();
					switch(licznik){
						case 1: 
							lic.ileczeka=1;
							lic.czyallin=true;
							givemoney(lic,zetony);
							break;
						case 2:
							lic.aktywni[numer]=false;
							break;	
					}
				}
				else// allin,fold,raise,call
				{
					System.out.println("1.ALIN");
					System.out.println("2.RAISE");
					System.out.println("3.CALL");
					System.out.println("4.FOLD");
					Scanner ile2 = new Scanner(System.in);
					int licznik= ile2.nextInt();
					switch(licznik){
						case 1: 
							lic.czyallin=true;
							lic.ileczeka=1;
							givemoney(lic,zetony);
							break;
						case 2:
							while(true){
								lic.ileczeka=0;
								System.out.print("Ile chcesz podbic");
								Scanner ile3 = new Scanner(System.in);
								int raise= ile2.nextInt();
								if((lic.maxbet-bet)+raise<zetony){
									givemoney(lic,(lic.maxbet-bet)+raise);
									lic.maxbet=bet;
									break;
								}
							}
							break;
						case 3:
							givemoney(lic,lic.maxbet-bet);
							break;
						case 4:
							lic.aktywni[numer]=false;
							break;	
					}
				}
			}
			else{// raise,allin,fold,wait,
			
				System.out.println("1.ALIN");
				System.out.println("2.RAISE");
				System.out.println("3.CHECK");
				System.out.println("4.FOLD");
				Scanner ile2 = new Scanner(System.in);
				int licznik= ile2.nextInt();
				switch (licznik){
				case 1: 
					lic.ileczeka=1;
					lic.czyallin=true;
					givemoney(lic,zetony);
				 break;
				case 2:
					while(true){
						lic.ileczeka=0;
						System.out.print("Ile chcesz podbic");
						Scanner ile3 = new Scanner(System.in);
						int raise= ile2.nextInt();
						if(lic.maxbet-bet+raise<zetony){
							givemoney(lic,lic.maxbet-bet+raise);
							lic.maxbet=bet;
							break;
						}
					}
					break;
				case 3:
					lic.ileczeka++;
					break;
				case 4:
					lic.aktywni[numer]=false;
					break;
				}
			}
		}
		else{//fold allin
			System.out.println("1.ALIN");
			System.out.println("2.FOLD");
			Scanner ile2 = new Scanner(System.in);
			int licznik= ile2.nextInt();
			switch(licznik){
			case 1:
				lic.ileczeka++;
				lic.czyallin=true;
				givemoney(lic,zetony);
				break;
			case 2:
				lic.aktywni[numer]=false;
				break;
			}
			}
		
		

	
	}
	@Override
	void givemoney(Licytacja lic,int bet){
		this.bet=this.bet+bet;
		lic.takemoney(this,bet);
		
	}
	@Override
	void wymien(int stopien){
		try{
			while(true){
				System.out.println("Ile kart chcesz wymienic?");
				Scanner ile2 = new Scanner(System.in);
				ile= ile2.nextInt();
				if((ile<5)&&(ile>=0)){
					break;
				}
				else{
					System.out.println("Wybierz liczbe z przedzialu <0,4>");
				}    
			}
			if(ile>0)
				System.out.println("Ktore Karty Chcesz wymienic?");
			for(int i=0;i<ile;i++){
				while(true){
					Scanner jakie= new Scanner(System.in);
					jakiehum = jakie.nextInt();
					if((jakiehum>0)&&(jakiehum<6)){
						if(index[jakiehum-1]==0){
							index[jakiehum-1]=1;
							break;
						}
					}
					else
						System.out.println("Wybierz liczbe z przedzialu <1,5>");
				
				}
			}
		}
		catch(InputMismatchException e){
			System.out.println("Blad argumentu");
		}
	}

}
